package com.hxzy.service;

import com.github.pagehelper.PageInfo;
import com.hxzy.controller.login.req.LoginReq;
import com.hxzy.controller.user.req.UserReq;
import com.hxzy.controller.user.resp.UserResp;
import com.hxzy.entity.UserinfoWy;

/**
 * @Desc 描述
 * @Author: admin
 * @Date: 2023/08/15/11:39
 */
public interface UserinfoWyService {

    boolean insert(UserinfoWy record);


    UserinfoWy selectByPrimaryKey(Long id);

    /**
     * 选择性更新(值为null，不会帮你更新）
     * @param record
     * @return
     */
    boolean updateByPrimaryKeySelective(UserinfoWy record);

    /**
     * 根据主键，全列更新
     * @param record
     * @return
     */
    boolean updateByPrimaryKey(UserinfoWy record);


    /**
     * 删除账户（逻辑删除）
     * @param id
     * @return
     */
    boolean deleteById(Long id);

    /**
     * 实现登录逻辑
     * @param req
     * @return
     */
    UserinfoWy login(LoginReq req);

    /**
     * 根据令牌查询数据
     * @param uuid
     * @return
     */
    UserinfoWy searchByToken(String uuid);

    /**
     * 登出
     * @param token
     */
    void logout(String token);

    /**
     * 分页查询
     * @param req
     * @return
     */
    PageInfo<UserResp> searchPage(UserReq req);

    /**
     * 新增验证手机号是否重复
     * @param mobile
     * @return
     */
    int existsMobile(String mobile);

    /**
     * 逻辑删除
     * @param ids
     * @return
     */
    boolean deleteBatch(Long[] ids);
}
